package com.lwy.setter.enums;

/**
 * 具有可视化能力的枚举基础类，包含了前端可视化的一些属性
 */
public interface BaseCnViewEnum extends BaseCnEnum {

    /**
     * 获取枚举值是否可用，默认可用，需要控制该字段时可在子类override
     *
     * @return 是否可用， true or false
     */
    default Boolean getDisabled() {
        return false;
    }

    /**
     * 获取枚举项可视化时的展示顺序
     *
     * @return 展示顺序，值越小越靠前
     */
    default Integer getSequence() {
        return getValue();
    }

    /**
     * 是否隐藏不展示， 如果为 true 建议不返回给前端
     *
     * @return 是否隐藏
     */
    default boolean isHidden() {
        return false;
    }

}
